﻿using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Chenxin.Lib.House.BLL
{
    /// <summary>
    /// 业务逻辑类Tasks_BaseInfo 的摘要说明。
    /// </summary>
    public class Tasks_BaseInfo
    {

        public Tasks_BaseInfo()
        { }

        #region  成员方法

        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public static bool Exists(Guid RecordId)
        {
            return Chenxin.Lib.House.DAL.Tasks_BaseInfo.Exists(RecordId);
        }

        //*******************************************
        //功能概要       ：插入任务表信息
        //参数説明       ：
        //返回值説明     ：
        //功能詳細       ：插入任务表信息
        //作成者         ：王玮
        //作成日         ：2010-03-25
        //修改者         ：
        //修改日         ：
        //*******************************************
        public static string Add(Chenxin.Lib.House.Entity.Tasks_BaseInfo model)
        {
            try
            {
                Chenxin.Lib.House.Entity.Tasks_BaseInfo clhet = new Chenxin.Lib.House.Entity.Tasks_BaseInfo();
                clhet.RecordId = model.RecordId;
                clhet.relatedId = model.relatedId;
                clhet.relatedCaption = model.relatedCaption;
                clhet.relatedCode = model.relatedCode;
                clhet.taskReceiverId = model.taskReceiverId;
                clhet.taskReceiver = model.taskReceiver;
                clhet.ReceiverDepartId = model.ReceiverDepartId;
                clhet.ReceiverDepart = model.ReceiverDepart;
                clhet.TaskType = model.TaskType;
                clhet.TaskBeginDay = model.TaskBeginDay;
                clhet.TaskEndDay = model.TaskEndDay;
                clhet.Status = model.Status;
                clhet.Title = model.Title;
                clhet.Description = model.Description;
                clhet.Addtime = model.Addtime;
                clhet.AddPersonId = model.AddPersonId;
                clhet.AddPerson = model.AddPerson;
                clhet.AddDepartId = model.AddDepartId;
                clhet.AddDepart = model.AddDepart;
                clhet.AddCompanyId = model.AddCompanyId;
                clhet.AddCompany = model.AddCompany;
                clhet.CityId = model.CityId;
                clhet.CityName = model.CityName;

                //插入任务表
                Chenxin.Lib.House.DAL.Tasks_BaseInfo.Add(model);

                //插入消息
                AddNotice(model);

                return string.Format("{0}", "添加成功!");
            }
            catch(Exception ex)
            {
                return string.Format("{0}", ex.Message);
            }
        }

        //*******************************************
        //功能概要       ：插入消息
        //参数説明       ：
        //返回值説明     ：
        //功能詳細       ：插入消息
        //作成者         ：王玮
        //作成日         ：2010-03-25
        //修改者         ：
        //修改日         ：
        //*******************************************
        private static void AddNotice(Chenxin.Lib.House.Entity.Tasks_BaseInfo model)
        {
            Chenxin.Lib.House.Entity.Notice notice = new Chenxin.Lib.House.Entity.Notice();

            notice.RecordId = Guid.NewGuid();
            notice.NoticeType = 0;
            notice.CompanyId = model.AddCompanyId;
            notice.CompanyName = model.AddCompany;
            notice.Title = "分配任务";
            notice.body = "添加任务:" + model.Title + "任务内容:" + model.Description;
            notice.SenderId = Guid.Empty;
            notice.DelFlg = 0;
            notice.DepartMentId = model.ReceiverDepartId;
            notice.SendDate = DateTime.Now.AddDays(-1);
            notice.UpdateDate = DateTime.Now.AddDays(-1);
            notice.CityId = model.CityId;
            notice.ReadFlg = 0;

            Chenxin.Lib.House.BLL.Notice.AddNotice(notice);

        }

        //*******************************************
        //功能概要       ：更新任务表信息
        //参数説明       ：
        //返回值説明     ：
        //功能詳細       ：更新任务表信息
        //作成者         ：王玮
        //作成日         ：2010-03-26
        //修改者         ：
        //修改日         ：
        //*******************************************
        public static string Update(Chenxin.Lib.House.Entity.Tasks_BaseInfo model)
        {
            try
            {
                Chenxin.Lib.House.DAL.Tasks_BaseInfo.Update(model);

                return string.Format("{0}", "修改成功!");
            }
            catch (Exception ex)
            {
                return string.Format("{0}", ex.Message);
            }
        }

        //*******************************************
        //功能概要       ：删除任务表信息
        //参数説明       ：
        //返回值説明     ：
        //功能詳細       ：删除任务表信息
        //作成者         ：王玮
        //作成日         ：2010-03-29
        //修改者         ：
        //修改日         ：
        //*******************************************
        public static string Delete(Guid RecordId)
        {
            try
            {
                Chenxin.Lib.House.DAL.Tasks_BaseInfo.Delete(RecordId);

                return string.Format("{0}", "删除成功!");
            }
            catch (Exception ex)
            {
                return string.Format("{0}", ex.Message);
            }

        }

        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public static Chenxin.Lib.House.Entity.Tasks_BaseInfo GetModel(Guid RecordId)
        {

            return Chenxin.Lib.House.DAL.Tasks_BaseInfo.GetModel(RecordId);
        }

        /// <summary>
        /// 获得数据列表
        /// </summary>
        public static List<Chenxin.Lib.House.Entity.Tasks_BaseInfo> DataTableToList(DataTable dt)
        {
            List<Chenxin.Lib.House.Entity.Tasks_BaseInfo> modelList = new List<Chenxin.Lib.House.Entity.Tasks_BaseInfo>();
            int rowsCount = dt.Rows.Count;
            if (rowsCount > 0)
            {
                Chenxin.Lib.House.Entity.Tasks_BaseInfo model;
                for (int n = 0; n < rowsCount; n++)
                {
                    model = new Chenxin.Lib.House.Entity.Tasks_BaseInfo();
                    if (dt.Rows[n]["RecordId"].ToString() != "")
                    {
                        model.RecordId = new Guid(dt.Rows[n]["RecordId"].ToString());
                    }
                    if (dt.Rows[n]["relatedId"].ToString() != "")
                    {
                        model.relatedId = new Guid(dt.Rows[n]["relatedId"].ToString());
                    }
                    model.relatedCaption = dt.Rows[n]["relatedCaption"].ToString();
                    model.relatedCode = dt.Rows[n]["relatedCode"].ToString();
                    if (dt.Rows[n]["taskReceiverId"].ToString() != "")
                    {
                        model.taskReceiverId = new Guid(dt.Rows[n]["taskReceiverId"].ToString());
                    }
                    model.taskReceiver = dt.Rows[n]["taskReceiver"].ToString();
                    if (dt.Rows[n]["ReceiverDepartId"].ToString() != "")
                    {
                        model.ReceiverDepartId = new Guid(dt.Rows[n]["ReceiverDepartId"].ToString());
                    }
                    model.ReceiverDepart = dt.Rows[n]["ReceiverDepart"].ToString();
                    model.TaskType = dt.Rows[n]["TaskType"].ToString();
                    if (dt.Rows[n]["TaskBeginDay"].ToString() != "")
                    {
                        model.TaskBeginDay = DateTime.Parse(dt.Rows[n]["TaskBeginDay"].ToString());
                    }
                    if (dt.Rows[n]["TaskEndDay"].ToString() != "")
                    {
                        model.TaskEndDay = DateTime.Parse(dt.Rows[n]["TaskEndDay"].ToString());
                    }
                    if (dt.Rows[n]["Status"].ToString() != "")
                    {
                        model.Status = int.Parse(dt.Rows[n]["Status"].ToString());
                    }
                    model.Title = dt.Rows[n]["Title"].ToString();
                    model.Description = dt.Rows[n]["Description"].ToString();
                    if (dt.Rows[n]["Addtime"].ToString() != "")
                    {
                        model.Addtime = DateTime.Parse(dt.Rows[n]["Addtime"].ToString());
                    }
                    if (dt.Rows[n]["AddPersonId"].ToString() != "")
                    {
                        model.AddPersonId = new Guid(dt.Rows[n]["AddPersonId"].ToString());
                    }
                    model.AddPerson = dt.Rows[n]["AddPerson"].ToString();
                    if (dt.Rows[n]["AddDepartId"].ToString() != "")
                    {
                        model.AddDepartId = new Guid(dt.Rows[n]["AddDepartId"].ToString());
                    }
                    model.AddDepart = dt.Rows[n]["AddDepart"].ToString();
                    if (dt.Rows[n]["AddCompanyId"].ToString() != "")
                    {
                        model.AddCompanyId = new Guid(dt.Rows[n]["AddCompanyId"].ToString());
                    }
                    model.AddCompany = dt.Rows[n]["AddCompany"].ToString();
                    if (dt.Rows[n]["CityId"].ToString() != "")
                    {
                        model.CityId = new Guid(dt.Rows[n]["CityId"].ToString());
                    }
                    model.CityName = dt.Rows[n]["CityName"].ToString();
                    if (dt.Rows[n]["DealDay"].ToString() != "")
                    {
                        model.DealDay = DateTime.Parse(dt.Rows[n]["DealDay"].ToString());
                    }
                    model.DealDescription = dt.Rows[n]["DealDescription"].ToString();
                    modelList.Add(model);
                }
            }
            return modelList;
        }

        /// <summary>
        /// 获得数据列表
        /// </summary>
        public static DataSet GetList(string strWhere)
        {
            return Chenxin.Lib.House.DAL.Tasks_BaseInfo.GetList(strWhere);
        }

        /// <summary>
        /// 获得数据列表
        /// </summary>
        public static DataSet GetAllList()
        {
            return GetList("");
        }

        /// <summary>
        /// 获得数据列表
        /// </summary>
        //public DataSet GetList(int PageSize,int PageIndex,string strWhere)
        //{
        //return Chenxin.Lib.House.DAL.Tasks_BaseInfo.GetList(PageSize,PageIndex,strWhere);
        //}

        #endregion  成员方法
    }
}

